package com.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name = "sistemas")
//@NamedQuery(name = "Sistema.findSistemaByNome", query = "select u from Sistema u where u.nome = :nome")
@NamedQueries({
    @NamedQuery(name="Sistema.getAll",
                query="SELECT u FROM Sistema u"),
    @NamedQuery(name = "Sistema.findSistemaByNome", query = "select u from Sistema u where u.nome = :nome")
}) 
public class Sistema implements Serializable {
	
	private static final long serialVersionUID = 1L;

	public static final String FIND_BY_NOME = "Sistema.findSistemaByNome";
	public static final String GET_ALL = "Sistema.getAll";

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;

	@Column(unique = true)
	private String nome;
	private String descricao;
	private String imagem;
	private String link;
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getImagem() {
		return imagem;
	}

	public void setImagem(String imagem) {
		this.imagem = imagem;
	}

	public String getLink() {
		return link;
	}

	public void setLink(String link) {
		this.link = link;
	}

	@Override
	public int hashCode() {
		return getId();
	}

	@Override
	public boolean equals(Object obj) {
		if (obj instanceof Sistema) {
			Sistema sistema = (Sistema) obj;
			return sistema.getId() == id;
		}
		return false;
	}
}